package com.cloud.util;

import lombok.Data;
import java.util.List;
/**
 * 分页工具
 * @author touch
 *
 * @param <T>
 */
@Data
public class PageUtil<T> {
	/**
	 * 每页数据量，默认10条数据
	 */
	private Integer size = 10;
	/**
	 * 总页数
	 */
	private Integer total;
	/**
	 * 当前页码
	 */
	private Integer page;
	/**
	 * 总数据量
	 */
	private Integer num;
	/**
	 * 实际数据集
	 */
	private List<T> list;
	/**
	 * 当前页起始数
	 */
	private Integer start;
	/**
	 * 当前页结束数
	 */
	private Integer end;
	/**
	 * @param page 当前页码 来源于前端
	 * @param size 每页数据量 来源于前端
	 * @param num 总数据量 来源于数据库
	 */
	public PageUtil(Integer page,Integer size,Integer num) {
		if (size != null){
			this.size = size;
		}
		this.num = num;
		int temp = num / size;
		this.total = temp;
		if((num % size) > 0) {
			this.total = temp + 1;
		}
		if(page < 1){
			page = 1;
		}
		if(page > total){
			page = total;
		}
		this.page = page;
		this.start = (page - 1) * size;
		if (page <= 1){
			this.start = 0;
		}
		this.end = start + size;
	}
}
